package com.yfp.goods.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.goods.domain.vo.GoodsDetailImgVo;
import com.yfp.goods.domain.vo.GoodsNutritiveVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Schema(title = "商品信息")
@Data
public class GoodsInfoDto implements Serializable {

    private static final long serialVersionUID = -79371673593342368L;

    /**
     * 商品id
     */
    @Schema(title ="商品id")
    private String goodsId;

    /**
     * 商品名称
     */
    @Schema(title ="商品名称")
    private String goodsName;
    /**
     * 商品描述
     */
    @Schema(title ="商品描述")
    private String goodsDesc;

    /**
     * 区域id
     */
    @Schema(title ="区域id")
    private String areaId;
    /**
     * 商品分类id
     */
    @Schema(title ="商品分类id")
    private String goodsTypeId;

    /**
     * 商品分类id
     */
    @Schema(title ="商品分类名称")
    private String goodsTypeName;
    /**
     * 销售价
     */
    @Schema(title ="销售价")
    private String salePrice;
    /**
     * 成本价
     */
    @Schema(title ="成本价")
    private String costPrice;

    /**
     * 温度
     */
    @Schema(title ="温度")
    private String temperature;
    /**
     * 加热时间（秒）
     */
    @Schema(title ="加热时间（秒）")
    private Integer heatTime;

    /**
     * 供应商
     */
    @Schema(title ="供应商")
    private String supplier;

    /**
     * 保质期（天）
     */
    @Schema(title ="保质期（天）")
    private Integer expireDay;

    @Schema(title ="配料")
    private String dosing;

    /**
     * 口味（辣/不辣）
     */
    @Schema(title ="口味（辣/不辣）")
    private String taste;
    /**
     * 重量（g）
     */
    @Schema(title="重量（g）")
    private String weight;
    /**
     * 热量（kal）
     */
    @Schema(title="热量（kal）")
    private String calorie;
    /**
     * 启用1/禁用
     */
    @Schema(title="启用1/禁用")
    private Integer enable;
    /**
     * 城市名称
     */
    @Schema(description = "城市名称")
    private String cityName;
    /**
     * 创建时间
     */
    @Schema(title="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @Schema(title ="创建人")
    private String createBy;

    @Schema(title ="营养列表")
    List<GoodsNutritiveVo> goodsNutritiveVoList;

    @Schema(title = "图片/视频列表")
    private List<GoodsDetailImgVo> goodsDetailImgVoList;


    public String getGoodsTypeName() {
        return goodsTypeName;
    }

    public void setGoodsTypeName(String goodsTypeName) {
        this.goodsTypeName = goodsTypeName;
    }

    public String getTemperature() {
        return temperature;
    }

    public void setTemperature(String temperature) {
        this.temperature = temperature;
    }

    public String getTaste() {
        return taste;
    }

    public void setTaste(String taste) {
        this.taste = taste;
    }

    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }

    public String getCalorie() {
        return calorie;
    }

    public void setCalorie(String calorie) {
        this.calorie = calorie;
    }

    public Integer getEnable() {
        return enable;
    }

    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public List<GoodsDetailImgVo> getGoodsDetailImgVoList() {
        return goodsDetailImgVoList;
    }

    public void setGoodsDetailImgVoList(List<GoodsDetailImgVo> goodsDetailImgVoList) {
        this.goodsDetailImgVoList = goodsDetailImgVoList;
    }

    public List<GoodsNutritiveVo> getGoodsNutritiveVoList() {
        return goodsNutritiveVoList;
    }

    public void setGoodsNutritiveVoList(List<GoodsNutritiveVo> goodsNutritiveVoList) {
        this.goodsNutritiveVoList = goodsNutritiveVoList;
    }

    public String getDosing() {
        return dosing;
    }

    public void setDosing(String dosing) {
        this.dosing = dosing;
    }


    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsDesc() {
        return goodsDesc;
    }

    public void setGoodsDesc(String goodsDesc) {
        this.goodsDesc = goodsDesc;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public String getGoodsTypeId() {
        return goodsTypeId;
    }

    public void setGoodsTypeId(String goodsTypeId) {
        this.goodsTypeId = goodsTypeId;
    }

    public String getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(String salePrice) {
        this.salePrice = salePrice;
    }

    public String getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(String costPrice) {
        this.costPrice = costPrice;
    }

    public Integer getHeatTime() {
        return heatTime;
    }

    public void setHeatTime(Integer heatTime) {
        this.heatTime = heatTime;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public Integer getExpireDay() {
        return expireDay;
    }

    public void setExpireDay(Integer expireDay) {
        this.expireDay = expireDay;
    }

}
